<template>
	<view class="content">
		callback----{{showToken}}
	</view>
</template>

<script setup>
	// import CustomNavBarVue from '../../components/customNavBar.vue';
	import {
		checkLogin,
		cinfoList
	} from '../../Api/user';
	import {
		ref,
		onUnmounted,
		renderList
	} from 'vue';
	import {
		onLoad,
		onUnload
	} from "@dcloudio/uni-app";
	import axios from 'axios';
	// 1. 存储定时器实例（用于后续清理）
	let singleTimer = null;
	// 2. 响应式数据：控制提示显示
	const showTip = ref(false);
	const showCode = ref(0);
	const showToken = ref()
	// 测试
	onLoad((options) => {
		console.log('地址栏内容', options, window.location.href);
		// const mainCode = new URL(window.location.href).searchParams.get('code');
		// getTokenApi(mainCode)

		const code = getUrlParam('code');
		console.log('获取到的code:', code);
		getTokenApi(code)
		return false
		// console.log(options, '地址栏内容');
		// const token = uni.getStorageSync('wxwork_token');
		// if (token) {
		// 	uni.switchTab({
		// 		url: "/pages/home/home"
		// 	})
		// } else {
		// 	if (process.env.VUE_APP_PLATFORM === 'h5') {
		// 		const mainCode = new URL(window.location.href).searchParams.get('code');
		// 		console.log('主查询参数code:', mainCode);
		// 		uni.setStorageSync('wxwork_code', mainCode) //token数据存本地
		// 		showCode.value = mainCode;
		// 		getTokenApi(mainCode)
		// 	} else {
		// 		getTokenApi(options.code)
		// 	}
		// }
	})

	const getUrlParam = (paramName, url = window.location.href) => {
		try {
			const urlObj = new URL(url);
			return urlObj.searchParams.get(paramName);
		} catch (e) {
			// URL解析失败时使用正则表达式作为降级方案
			const regex = new RegExp(`[?&]${paramName}=([^&]*)`);
			const match = url.match(regex);
			return match ? decodeURIComponent(match[1]) : null;
		}
	}
	// 获取token的接口方法
	const getTokenApi = (code) => {

		axios.get('https://puhuicaizhi.com/wx/yingyong/checkLogin', {
				params: {
					code
				}
			})
			.then(res => {
				console.log(res, 'then数据');

				if (res.data.code == 200) {
					
					showToken.value = res.data.data
					uni.setStorageSync('wxwork_token', res.data.data) //token数据存本地

					const jumpUrl = uni.getStorageSync('jumpUrl');
					console.log(jumpUrl, 'jumpUrl');
					uni.redirectTo({
						url: jumpUrl
					})


					return false
					const redirect = uni.getStorageSync('wxwork_redirect'); //查看本地有没有要重定向的地址
					uni.setStorageSync('wxwork_token', res.data.data) //token数据存本地
					console.log(redirect, 'callBack重定向的地址');
					if (redirect) {
						uni.switchTab({
							url: redirect
						})

					} else {

					}

				} else {
					uni.showToast({
						title: 'token获取失败', // 提示内容（必填）
						icon: "none", // 图标：success/error/loading/none（默认success）
					});
					// uni.switchTab({
					// 	url: "/pages/home/home"
					// })
				}
			})
			.catch(err => {
				uni.showToast({
					title: '登录失败', // 提示内容（必填）
					icon: "error", // 图标：success/error/loading/none（默认success）
					duration: 2000, // 显示时长（ms，默认1500）
					position: "top" // 位置：top/middle/bottom（默认middle）
				});
				console.log(err, 'err数据123213');
				showToken.value = err
				// uni.navigateTo({
				// 	url:"/pages/about/about"
				// })
			})
	}

	onUnmounted(() => {

	});
</script>
<style>
	.content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
</style>